<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Details</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>FzfxLspDefinitions</code></td>
      <td>
        <details>
          <summary>Search definitions.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to definitions.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_definition"
                  >textDocument/definition</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspTypeDefinitions</code></td>
      <td>
        <details>
          <summary>Search type definitions.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to type definitions.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_typeDefinition"
                  >textDocument/typeDefinition</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspImplementations</code></td>
      <td>
        <details>
          <summary>Search implementations.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to implementations.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_implementation"
                  >textDocument/implementation</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspReferences</code></td>
      <td>
        <details>
          <summary>Search references.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to references.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_references"
                  >textDocument/references</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspIncomingCalls</code></td>
      <td>
        <details>
          <summary>Search incoming calls.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to incoming calls.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#callHierarchy_incomingCalls"
                  >callHierarchy/incomingCalls</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspOutgoingCalls</code></td>
      <td>
        <details>
          <summary>Search outgoing calls.</summary>
          <small>
            <ol>
              <li>
                The <code>args</code> variant always use cursor word as query
                content (not command arguments), because the scenario is
                navigating symbols, e.g. go to outgoing calls.
              </li>
              <li>
                Use protocol
                <a
                  href="https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#callHierarchy_outgoingCalls"
                  >callHierarchy/outgoingCalls</a
                >.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>args</code></td>
                  <td>N</td>
                  <td rowspan="6">Yes</td>
                  <td rowspan="6">Yes</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
    <tr>
      <td><code>FzfxLspDiagnostics</code></td>
      <td>
        <details>
          <summary>Search diagnostics.</summary>
          <small>
            <ol>
              <li>
                Use <code>ctrl-q</code> to send selected lines to quickfix
                window and quit.
              </li>
              <li>
                <b>Current buffer (only)</b> variant is named with
                <code>buf_</code> suffix.
              </li>
            </ol>
            <table>
              <thead>
                <tr>
                  <th>Variant</th>
                  <th>Mode</th>
                  <th>Select Keys</th>
                  <th>Preview Keys</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><code>(buf_)args</code></td>
                  <td>N</td>
                  <td rowspan="5">Yes</td>
                  <td rowspan="5">Yes</td>
                </tr>
                <tr>
                  <td><code>(buf_)visual</code></td>
                  <td>V</td>
                </tr>
                <tr>
                  <td><code>(buf_)cword</code></td>
                  <td>N</td>
                </tr>
                <tr>
                  <td><code>(buf_)put</code></td>
                  <td>N</td>
                </tr>
                <tr>
                  <td><code>(buf_)resume</code></td>
                  <td>N</td>
                </tr>
              </tbody>
            </table>
          </small>
        </details>
      </td>
    </tr>
  </tbody>
</table>
